#pragma once
#include <memory>
#include <string>

using std::unique_ptr;
using std::wstring;
using std::string;

class CFileVersion
{
public:
	~CFileVersion(void);

protected:
	CFileVersion(void);

public:
	int Major;
	int Minor;
	int Build;
	int Revision;

	static CFileVersion* GetVersionPtr(const wstring& file) throw(...);
	static unique_ptr<CFileVersion> GetVersion(const wstring& file) throw(...);
	wstring ToString() const throw();
	string ToStringA() const throw();
};

